Many different types of memory exist to store data for computers and the like. For example, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read only memory (ROM), programmable read only memory (PROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM) and flash memory are all presently available to provide for data storage.
Each type of memory has its own particular advantages and disadvantages. For example, DRAM and SRAM allow individual bits of data to be erased one at a time, but such memory loses its data when power is removed. EPROM is relatively inexpensive and dense, but lacks erasability. EEPROM is desirable because it can be easily erased without requiring extra exterior equipment. EEPROM may, however, be somewhat deficient with regard to read/write endurance, data retention and/or area efficiency. Read/write endurance (e.g., wear out) and data retention (e.g., charge loss) generally refer to lifespan aspects of the memory, while area efficiency refers to a cost aspect of the memory.
Read/write and/or erase operations are generally performed in EEPROM by applying certain voltages to particular terminals of the memory cells. In a write or erase operation, for example, the voltages are applied to cause charge to be stored in or removed from a memory cell. In a read operation, on the other hand, appropriate voltages are applied so as to cause a current to flow in the cell, where the amount of current is a function of the amount of charge stored within the cell, among other things. The resulting current flow thus provides an indication of the amount of charge stored within the cell, which in turn corresponds to a state of the cell. For example, a certain amount of charge can correspond to a high data state which can be designated as a logic high or a binary data bit “1”. Similarly, a lesser amount of stored charge can correspond to a low state which can be designated as a logic low or a binary data bit “0”. Accurate data determinations and/or manipulations are thus dependent upon the ability of a memory cell to sustain a charge over time (e.g., data retention), as well as the cell's ability to withstand repeated applications of voltages to read, write and/or erase the memory cell (e.g., endurance).
As with other types of memory, EEPROM is generally formed upon a semiconductor substrate. It can be appreciated that semiconductor ‘real estate’ is somewhat valuable. Therefore, it is desirable to fabricate as many EEPROM cells on a semiconductor wafer (or a die on a wafer) as possible. Accordingly, the more semiconductor substrate an individual EEPROM cell requires, the less area efficient that cell is. Nevertheless, for EEPROM, as well as other types of memory cells, to be practical, they are generally organized into addressable units or groups, generally referred to as arrays, and are accessible for read, write and/or erase operations. The cells are, for example, commonly organized into bytes which comprise eight cells—one bit per cell—and words which may include sixteen or more cells, usually configured in multiples of eight. A length of memory cells containing such respective binary bits can be strung together to store data, such as an 8 bit word, for example. It can thus be appreciated that it is important to mitigate area inefficiencies in memory cells since the cells are commonly arranged in arrays, which can magnify or multiply such area inefficiencies.